package com.vortex.cloud.sample.domain;

import com.baomidou.mybatisplus.annotation.TableName;
import com.vortex.cloud.vfs.lite.data.domain.AbstractBaseDeleteModel;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.persistence.Column;

import org.hibernate.annotations.Table;

import javax.persistence.Entity;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;

/**
 * @author 王林
 * @version 1.0
 * @date 2021-10-21 周四
 * @time 10:57
 * @description
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Schema(name = "StatsInfo", description = "统计表")
@Entity(name = StatsInfo.TABLE_NAME)
@Table(appliesTo = StatsInfo.TABLE_NAME, comment = "stats_info")
@TableName(value = StatsInfo.TABLE_NAME)
public class StatsInfo extends AbstractBaseDeleteModel {
    public static final String TABLE_NAME = "stats_info";

    /**
     * 日期
     */
    @Schema(name = "date", description = "日期")
    @Column(columnDefinition = "date comment '日期'")
    private LocalDate taskDate;

    /**
     * 时间
     */
    @Schema(name = "taskTime", description = "时间")
    @Column(columnDefinition = "time comment '时间'")
    private LocalTime taskTime;

    /**
     * 年月日时分秒
     */
    @Schema(name = "taskDateTime", description = "年月日时分秒")
    @Column(columnDefinition = "datetime comment '年月日时分秒'")
    private LocalDateTime taskDateTime;

    /**
     * 知晓率
     */
    @Schema(name = "awarenessRate", description = "知晓率")
    @Column(columnDefinition = "double(5,2) comment '知晓率'")
    private Double awarenessRate;

    /**
     * 参与率
     */
    @Schema(name = "participationRate", description = "参与率")
    @Column(columnDefinition = "double(5,2) comment '参与率'")
    private Double participationRate;

    /**
     * 准确率
     */
    @Schema(name = "accuracyRate", description = "准确率")
    @Column(columnDefinition = "double(5,2) comment '准确率'")
    private Double accuracyRate;

    /**
     * 满意度
     */
    @Schema(name = "satisfaction", description = "满意度")
    @Column(columnDefinition = "double(5,2) comment '满意度'")
    private Double satisfaction;

    /**
     * 减量率
     */
    @Schema(name = "reductionRate", description = "垃圾减量率")
    @Column(columnDefinition = "double(5,2) comment '垃圾减量率'")
    private Double reductionRate;

    /**
     * 处理率
     */
    @Schema(name = "processRate", description = "处理率")
    @Column(columnDefinition = "double(5,2) comment '处理率'")
    private Double processRate;

    /**
     * 利用率
     */
    @Schema(name = "useRate", description = "利用率")
    @Column(columnDefinition = "double(5,2) comment '利用率'")
    private Double useRate;

    /**
     * 碳排放减少量
     */
    @Schema(name = "carbonEmissions", description = "碳排放减少量")
    @Column(columnDefinition = "double(10,2) comment '碳排放减少量'")
    private Double carbonEmissions;
}
